day 19:
希望瀏覽數可以多點啦,更多人看我的教學後有所增長
今天將會介紹圖片分類,比起昨天的更加複雜。以下就只有簡單的例子進行分類。
這個例子就是要用來分別鞋,你擔心需要找大量的圖片來進行訓練嗎,這個例子是在tensorflow提供的,他本來就有資料庫,我們可以運用他資料庫進行演算,分辨出新投入的照片是否鞋。
每張圖片的都是28×28 ,並且是黑白色的,很少容量,所以電腦只需要很短的時間便能把全部閱讀,並進行運算,但若果需要一些更複雜的人工智能物件辨識,也許需要一些運用更深奧的演算法及更多的資料。
例子:
import tensorflow as tf
from tensorflow import keras
fashion_mnist = keras.datasets.fashion_mnist
(train_images,train_labels),(test_images,test_labels) = fashion_mnist.load_data()
執行結果:
train_images
此變數包含來自 Fashion MNIST 資料集的訓練影像。這些影像是灰階影像,並表示為 3D 陣列,其中每個元素代表特定位置的像素強度
train_labels
此變數train_labels包含 Fashion MNIST 資料集中訓練影像的相應標籤。每個標籤代表對應圖像的類別/類別。標籤是 0 到 9 之間的整數,其中每個整數對應於一個特定的類別。這是類別標籤的映射:
0: 上衣
1: 褲子
2: 毛衣
3: 洋裝
4: 外套
5: 涼鞋
6: 襯衫
7: 運動鞋
8: 袋
9: 踝靴
test_images
該變數test_images包含來自Fashion MNIST資料集的測試影像。與類似train_images,可以用來評估機器學習模型的效能。
test_labels
test_labels其實和train_labels差不多,他們的分別在於test_labels是用於訓練後評估效能的。
import tensorflow as tf
from tensorflow import keras
import numpy as np
from PIL import Image
fashion_mnist = keras.datasets.fashion_mnist
(train_images,train_labels),(test_images,test_labels) = fashion_mnist.load_data()
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28,28)),
keras.layers.Dense(128,activation=tf.nn.relu),
keras.layers.Dense(10,activation=tf.nn.softmax) #0-9
])
model.compile(optimizer = tf.keras.optimizers.Adam(),
loss = 'sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images,train_labels,epochs=5)
model.evaluate(test_images, test_labels)
predictions = model.predict("your image path")
這裏只需在model.predict輸入你的圖片路徑,但由於回傳的的結果有很多,這裏便不詳細說明可以上網查詢。
Adam
dam代表自適應矩估計,是深度學習模型中常用的一種流行的最佳化演算法,比起我們昨天用的演算法更優秀。
tf.nn.softmax
softmax大概就是找出每張相之間的規律,並進行分類。
model.evaluate
用於評估訓練模型在給定測試資料集上的效能。它根據測試數據計算模型的損失值和任何指定指標。
今天準備的時間實在不足,內容不多,敬請原諒。
今天的有趣內容到這裏,如果覺得我的文章對你有幫助或有更好的建議,可以追蹤我和不妨在留言區提出,我們明天再見。
reference:
https://www.tensorflow.org/tutorials/quickstart/beginner?hl=zh-cn